package com.lagou.service.impl;

import com.lagou.base.StatusCode;
import com.lagou.dao.CourseContentDao;
import com.lagou.dao.impl.CourseContentDaoImpl;
import com.lagou.pojo.Course;
import com.lagou.pojo.Course_Lesson;
import com.lagou.pojo.Course_Section;
import com.lagou.service.CourseContentService;
import com.lagou.utils.DateUtils;

import java.util.List;

/**
 *  课程内容管理 service 层的实现类
 */

public class CourseContentServiceImpl implements CourseContentService {
    CourseContentDao contentDao = new CourseContentDaoImpl();
    
    @Override
    public List<Course_Section> findSectionAndLessonByCourseId(int courseId) {

        List<Course_Section> sections = contentDao.findSectionAndLessonByCourseId(courseId);

        return sections;
    }

    @Override
    public Course findCourseByCourseId(int courseId) {
        Course course = contentDao.findCourseByCourseId(courseId);

        return course;
    }

    @Override
    public String saveSection(Course_Section section) {
        //补全章节信息
        section.setStatus(2);

        String date = DateUtils.getDateFormart();

        section.setCreate_time(date);
        section.setUpdate_time(date);

        int row = contentDao.saveSection(section);

        // 根据结果是否城等， 封装对应信息
        if (row > 0 ){
            //保存成功
            String result = StatusCode.SUCCESS.toString();
            return result;
        } else {
            String result = StatusCode.FAIL.toString();
            return result;
        }

    }

    //修改
    @Override
    public String updateSection(Course_Section section) {
        //1. 补全信息
        String date = DateUtils.getDateFormart();
        section.setUpdate_time(date);

        //2.调用dao
        int row = contentDao.updateSection(section);

        // 3. 判断 是否插入成功
        if (row >  0){
            String result = StatusCode.SUCCESS.toString();
            return result;
        } else {
            String result = StatusCode.FAIL.toString();
            return result;
        }

    }

    @Override
    public String updateSectionStatus(int id, int status) {
        int row = contentDao.updateSectionStatus(id, status);

        //判断是否修改成功
        if (row > 0){
            //修改状态成功
            String result = StatusCode.SUCCESS.toString();
            return result;
        } else {
            String result = StatusCode.FAIL.toString();
            return result;
        }
    }



    // 保存课时信息
    @Override
    public String saveLesson(Course_Lesson lesson) {
        //1. 补全信息
        String date = DateUtils.getDateFormart();
        lesson.setCreate_time(date);
        lesson.setUpdate_time(date);

        //调用DAO
        int i = contentDao.saveLesson(lesson);

        //判断是否插入成功
        if (i > 0){
            String result = StatusCode.SUCCESS.toString();
            return result;
        } else {
            String result = StatusCode.FAIL.toString();
            return result;
        }

    }

    //修改课时信息
    @Override
    public String updateLesson(Course_Lesson lesson) {

        //1. 补全信息
        String date = DateUtils.getDateFormart();
        lesson.setUpdate_time(date);

        int i = contentDao.updateLesson(lesson);

        //判断是否修改成功
        if ( i > 0 ){
            String  result = StatusCode.SUCCESS.toString();
            return result;
        } else {
            String result = StatusCode.FAIL.toString();
            return  result;

        }

    }
}
